home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / emula / arosdv19.lha / AROS / exec / remsemaphore.c < prev    next >
C/C++ Source or Header  |  1996-10-24  |  1KB  |  72 lines

  1. /*
  2.     (C) 1995-96 AROS - The Amiga Replacement OS
  3.     $Id: remsemaphore.c,v 1.5 1996/10/24 15:50:56 aros Exp $
  4.     $Log: remsemaphore.c,v $
  5.     Revision 1.5  1996/10/24 15:50:56  aros
  6.     Use the official AROS macros over the __AROS versions.
  7.  
  8.     Revision 1.4  1996/08/13 13:56:07  digulla
  9.     Replaced AROS_LA by AROS_LHA
  10.     Replaced some AROS_LH*I by AROS_LH*
  11.     Sorted and added includes
  12.  
  13.     Revision 1.3  1996/08/01 17:41:17  digulla
  14.     Added standard header for all files
  15.  
  16.     Desc:
  17.     Lang: english
  18. */
  19. #include "exec_intern.h"
  20.  
  21. /*****************************************************************************
  22.  
  23.     NAME */
  24.     #include <exec/semaphores.h>
  25.     #include <clib/exec_protos.h>
  26.  
  27.     AROS_LH1(void, RemSemaphore,
  28.  
  29. /*  SYNOPSIS */
  30.     AROS_LHA(struct SignalSemaphore *, sigSem, A0),
  31.  
  32. /*  LOCATION */
  33.     struct ExecBase *, SysBase, 101, Exec)
  34.  
  35. /*  FUNCTION
  36.     Removes a semaphore from the system public semaphore list.
  37.  
  38.     INPUTS
  39.     sigSem - Pointer to semaphore structure
  40.  
  41.     RESULT
  42.  
  43.     NOTES
  44.     Semaphores are shared between the tasks that use them and must
  45.     therefore lie in public (or at least shared) memory.
  46.  
  47.     EXAMPLE
  48.  
  49.     BUGS
  50.  
  51.     SEE ALSO
  52.  
  53.     INTERNALS
  54.  
  55.     HISTORY
  56.  
  57. *****************************************************************************/
  58. {
  59.     AROS_LIBFUNC_INIT
  60.  
  61.     /* Arbitrate for the semaphore list */
  62.     Forbid();
  63.  
  64.     /* Remove the semaphore */
  65.     Remove(&sigSem->ss_Link);
  66.  
  67.     /* All done. */
  68.     Permit();
  69.     AROS_LIBFUNC_EXIT
  70. } /* RemSemaphore */
  71.  
  72.